#ifndef __PWM_H
#define __PWM_H

typedef enum {
    MOTOR_A = 0,
    MOTOR_B
} MotorID_t;

// PWM通道配置结构体
typedef struct {
    TIM_TypeDef* TIMx;         // 定时器
    uint16_t TIM_Channel;       // 通道号
    void (*TIM_SetCompare)(TIM_TypeDef*, uint16_t); // 设置比较值的函数指针
    GPIO_TypeDef* GPIOx;        // GPIO端口
    uint16_t GPIO_Pin;          // GPIO引脚
    uint8_t isAdvancedTimer;    // 是否高级定时器
} PWM_Channel_t;

void PWM_Init(void);
void PWM_SetDuty(int8_t motor, float PWM);

#endif
